iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
Software Development

從零開始學 Python系列 第 7

Day 7 - 巢狀邏輯與 break / continue:讓流程控制更靈活!

  • 分享至 

  • xImage
  •  

今天的學習內容

巢狀邏輯

「在邏輯裡面再包邏輯」:條件判斷或迴圈裡面再寫條件或迴圈,讓程式具備更多層次。
範例:判斷奇偶數並分類大小

num = int(input("請輸入一個整數:"))

if num % 2 == 0:
    print("這是偶數")
    if num > 100:
        print("而且是很大的數字")
else:
    print("這是奇數")
    if num < 10:
        print("而且是很小的數字")

break:強制跳出迴圈

當你要「中途結束整個迴圈」,用 break 就對了!
範例:猜數字遊戲(碰到正確答案就離開)

secret = 7

while True:
    guess = int(input("猜一個數字(1~10):"))
    if guess == secret:
        print("答對了!")
        break
    else:
        print("再試一次!")

continue:跳過這一次,繼續下一次

當你要「略過某個條件下的程式碼,但繼續跑迴圈」,就用 continue
範例:印出 1~10 的奇數

for i in range(1, 11):
    if i % 2 == 0:
        continue  # 偶數跳過,不印
    print(i)

猜數字加上 break/continue

import random

target = random.randint(1, 100)
attempt = 0

while True:
    user_input = input("請輸入 1~100 的整數:")

    if not user_input.isdigit():     # 如果輸入不是數字
        print("請輸入數字!")
        continue                     # 跳過本輪,繼續下一輪

    guess = int(user_input)
    attempt += 1

    if guess == target:
        print(f"恭喜你猜對了!總共猜了 {attempt} 次")
        break                        # 猜中就跳出迴圈
    elif guess < target:
        print("太小了,再試一次!")
    else:
        print("太大了,再試一次!")

螢幕擷取畫面 2025-08-08 141934
螢幕擷取畫面 2025-08-08 142020
我覺得最有趣的是,每次出現的數字都是電腦隨機生成的,完全無法預測下一個數字會是什麼!還記得當初在學 Java 做到這個實作時,真的覺得非常神奇——只需要一些英文單字、數字和符號,就能讓電腦完成這麼多事情!

總結

功能 關鍵字 用途
巢狀邏輯 ifforwhile 建立條件中套條件、迴圈中套迴圈
強制中斷 break 結束整個迴圈
略過一次 continue 略過當前這次,不結束整個迴圈

學習心得

今天的主題是巢狀邏輯與 break / continue,明顯感受到難度開始上升了!
從一開始的條件判斷、簡單迴圈,到現在的「邏輯中再套邏輯」,雖然不至於完全看不懂,但在實際動手寫時,常常會有點混亂:「這個 if 是對哪個條件說的?」「這個 break 會跳出哪一層?」每當變數變多、條件變複雜時,都會覺得腦袋快打結了!
明天要進入另一個主題:List(串列)操作-增刪改查到排序!


上一篇
Day6 - for 與 while 迴圈:讓程式自動重複的魔法
下一篇
Day 8 - List(串列)操作:增刪改查、排序讓資料動起來!
系列文
從零開始學 Python30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言